home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / PVDRIVER / WLBPS.ZIP / WLBPS.PRG < prev    next >
Text File  |  1993-01-12  |  3KB  |  87 lines

  1. **********************************************************************
  2. *                ┌───────────────────────────────────┐
  3. *                │     ▐███▌ ████     ▀██████  █████ │
  4. *                │     █████▐████▌      ▀████  █████ │
  5. *                │    █▐████▌█████        ▀██  █████ │
  6. *                │   ▐█▌█████▐████▌     ▄█  ▀  █████ │
  7. *                │   ███▐████▌█████   ■███     █████ │
  8. *                │  ▐███▌█████▐████▌    ▀█  ▄  █████ │
  9. *                │  █████▐████▌█████      ▄██  █████ │
  10. *                │ ▐█████▌█████▐████▌   ▄████  █████ │
  11. *                │ ███████▐████▌█████ ▄██████  █████ │
  12. *                ├───────────────────────────────────┤
  13. *                │        Micro Endeavors, Inc.      │
  14. *                │       3150 Township Line Road     │
  15. *                │       Drexel Hill, PA   19026     │
  16. *                └───────────────────────────────────┘
  17. **********************************************************************
  18.  
  19. PRIVATE ALL LIKE l_*
  20. SET LIBRARY TO (SYS(2004)+"foxtools")
  21. l_getwdir = RegFn("GetWindowsDirectory", "@CI", "I")
  22. l_wps = RegFn("WriteProfileString","CCC","I")
  23. l_bigstr = REPL(CHR(0), 144)   && set up a big string
  24. l_retlen = CallFn(l_getwdir, @l_bigstr, 144)
  25. l_pfx = LEFT(l_bigstr, l_retlen)
  26. CREATE CURSOR ps1 (long C(80))
  27. APPEND FROM (l_pfx+"\WIN.INI") TYPE SDF
  28. LOCATE FOR long = "[windows]"
  29. LOCATE REST FOR long = "device="
  30.  
  31. l_pstring = three21(SUBSTR(long,8),.T.)
  32. l_lstring = SUBSTR(long,8,10)
  33. LOCATE FOR long = "[devices]"
  34. DIMENSION l_pplist[100],l_pslist[100]
  35. STORE 1 TO l_i
  36. SKIP
  37. SCAN REST
  38.   IF EMPTY(long)
  39.     EXIT
  40.   ENDIF
  41.   l_pplist[l_i] = three21(long)
  42.   l_pslist[l_i] = long
  43.   l_i = l_i + 1
  44. ENDSCAN
  45. DIMENSION l_pplist[l_i-1],l_pslist[l_i-1]
  46. * need to set at current
  47. l_ppprint = MAX(1,ASCAN(l_pslist,l_lstring))
  48. DO wlbps.SPR
  49.  
  50. SET LIBRARY TO
  51. USE IN ps1
  52. RETURN
  53.  
  54. PROCEDURE Vrbprint
  55. IF l_rbprint = 2
  56.   _curobj = OBJNUM(l_ppprint)
  57. ENDIF
  58. RETURN
  59.  
  60. PROCEDURE Vpraction
  61. IF l_praction = 1 AND l_rbprint = 2
  62.   l_pstring = TRIM(l_pslist[l_ppprint])
  63.   l_pstring = STUFF(l_pstring,AT("=",l_pstring),1,",")
  64.   = CallFn(l_wps,"windows","device",l_pstring)
  65. ENDIF
  66. RETURN
  67.  
  68. PROCEDURE Vppprint
  69. IF l_rbprint != 2
  70.   l_rbprint = 2
  71.   SHOW GET l_rbprint
  72. ENDIF
  73.  
  74. PROCEDURE three21
  75. PARAMETER r_stng,r_cur
  76. PRIVATE ALL LIKE r_*
  77. r_s1 = LEFT(r_stng,AT(IIF(r_cur,",","="),r_stng)-1)
  78. r_s2 = TRIM(r_stng)
  79. r_s2 = SUBST(r_s2,RAT(",",r_s2)+1)
  80. IF r_s2 = "LPT3:"
  81.   r_s2 = "mei1/printq_0 (LPT3:)"
  82. ENDIF
  83. IF r_cur
  84.   RETURN "(currently "+r_s1+" on "+r_s2+")"
  85. ELSE
  86.   RETURN r_s1+" on "+r_s2
  87. ENDIF